iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
1
AI & Data

保險相關資料庫設計系列 第 16

DAY16-SQL語法(日轉換期)

  • 分享至 

  • xImage
  •  

今天要來繼續做昨天那一題,第二個欄位是要把當天的日期轉成星期幾,
https://ithelp.ithome.com.tw/upload/images/20201001/20130627tFWhsmZPOw.png
星期的話,有兩種語法可以用一個是DATEPART語法,另一個是DATENAME語法他們的差別只差在最後輸出的資料型態的不同,DATEPART輸出的資料型態是Integer;DATENAME則是輸出nvarchar的資料型態

DATEPART語法,右邊是結果
https://ithelp.ithome.com.tw/upload/images/20201001/20130627fsaSPUdwZR.pnghttps://ithelp.ithome.com.tw/upload/images/20201001/20130627bk5IU7IHbm.png


DATENAME語法,右邊是結果
https://ithelp.ithome.com.tw/upload/images/20201001/20130627VxY75d14FT.png
https://ithelp.ithome.com.tw/upload/images/20201001/20130627dDkLdjrcfz.png


差別應該很明顯吧!!!
所以這裡的星期答案是

    DATENAME(WEEKDAY,CONVERT(varchar,created_date,112))AS’星期’

中間的日期是用昨天轉換過的
接下來要處理當天的待辦單量,這裡會用到COUNT()語法
COUNT語法可以計算查詢的紀錄數,如果在括號中用*參數就可以計算所偶的紀錄數,或是可以指定欄位計算不適空值的紀錄數,所以答案是

    COUNT(todo_id)

最後會用到GROUP BY語法
GROUP BY 語法可以建立群組查詢,以資料表的指定欄位進行分類,分類方式是將重複值結合起來規成一類,要記得指定,不然他不知道你要在哪個欄位分類,所以這裡會是

    GROUP BY CONVERT(varchar,created_date,112)

最後再把這些放在select裡面from待辦案件,然後再以日期分群
https://ithelp.ithome.com.tw/upload/images/20201001/20130627fjfGgfofra.png
附上執行後的結果
https://ithelp.ithome.com.tw/upload/images/20201001/20130627sUw9joqOzD.png
這樣就有了,明天要來做第二張報表了


上一篇
DAY15-SQL語法 實作
下一篇
DAY17-SQL語法(JOIN 方法)
系列文
保險相關資料庫設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言